Git bestanden verzamelen
git add
: met deze opdracht wordt de index geüpdated met de huidige inhoud van de werkmap. Op die manier worden de bestanden verzameld en gereed gezet voor de volgende commitgit status
: toont de status van de huidige werkmapgit reset
: reset huidige HEAD naar de opgegeven toestand
Werkwijze
Aan de hand van een voorbeeld leren we hoe we bestanden klaarzetten en verzamelen om in de repository te worden opgenomen.
Een tekstbestand maken
Maak in Kladblok een bestand met daarin een gedicht van Jan Engelman (het is 26/01/2017 gedichten dag). Sla het op onder de naam Vera.txt:
Ambrosia, wat vloeit mij aan?
uw schedelveld is koeler maan
en alle appels blozen
Bestanden toevoegen aan de verzamelplaats (staging)
We gaan met dat bestand de functionaliteiten van 'staging' inoefenen.
Git zal rapporteren over de bestanden die zijn toegevoegd aan onze 'bewaarplaats' en staat klaar om je instructies uit te voeren.
Typ de volgende instructies:
git status
Met het git status
commando vragen we git naar de lijst van de wijzigingen die zijn aangebracht in de repository sinds de vorige staat. Deze wijzigingen worden ''unstaged changes' genoemd , het zijn veranderingen die hebben plaatsgevonden sinds onze laatste bevestigde staat van de repository.
De gebruiker moet die wijzigingen bevestigen door ze te verplaatsen naar de 'staged changes' met behulp van het git add
commando.
git add Vera.txt
Je kan de verzamelplaats inspecteren met git status
:
Een toevoeging ongedaan maken
Je kan op elk moment ,vooraleer te bevestigen (commit), een bestand verplaatsten van de Staged Changes naar het gebied Unstaged Changes of beter gezegd van de verzamelplaats naar de werkmap:
git reset filename.extension
We voegen Vera.txt weer toe aan repository:
git add Vera.txt
Bestanden wijzigen
Als we alleen maar bestanden toevoegen en verwijderen is het heel simpel. Het begint moeilijk te worden als we bestanden beginnen te wijzigen. En vermits we met een versiebeheersysteem bezig zijn is het precies dat we willen leren.
Voeg de gegevens van de dichter bovenaan toe:
Jan Engelman
Vera Janacopoulos
Cantilene
Sla de wijzigingen op en sluit Word of een ander tekstverwerkingsprogramma. Als je git status uitvoert zal je zien dat Vera.txt weer in het rood staat.
Nu hebben we verschillende mogelijkheden.
Het bestand op de verzamelplaats updaten
Dat is de meest voor de hand liggende optie. De meest recenste versie, die dus in de werkmap staat, naar de verzamelplaats overbrengen en het bestand dat reeds op de verzamelplaats stond overschrijven. Voer nog eens git add Vera.txt uit om het gewijzigde bestand in de staging erea te plaatsen. Dat wil zeggen dat de eerste versie verloren is.
Het bestand van de verzamelplaats terugzetten in de werkmap
Om de versie van de verzamelplaats terug te zetten in de werkmap voer je het volgende commando uit:
git checkout -- Vera.txt
Vooraleer dit uit te voeren, kijken we wat er in het bestand Vera.txt in de werkmap staat. Dan voeren we de checkout uit en tenslotte kijken we weer in het bestand Vera.txt:
Staging van een gewijzigd bestand ongedaan maken
Zoals hierboven te zien is kunnen we de eerste versie Vera.txt uit de verzamelplaats halen met git rm --cached Vera.txt. Dat zou geen probleem zijn indien we ondertussen het bestand in de werkmap niet hadden gewijzigd. De eerste versie van Vera.txt uit de verzamelplaats halen en terug zetten in de werkmap. Dat zal niet lukken want we hebben ondertussen het bestand Vera.txt gewijzigd:
Zoals altijd is Git heel erg opmerkzaam en behoed ons voor onze eigen stommiteiten. Maar Git heeft ons ook altijd de mogelijkheid zaken te forceren zoals je hierboven kan zien. Je kan het weghalen uit de verzamelplaats forceren:
git rm --cached Vera.txt -f
Deze instructie haalt de eerste versie uit de verzamelplaats maar die is dan ook definitief verloren:
Bulk operaties
Als je meerdere bestanden uit het 'Unstaged Changes' gebied naar het 'Staged Changes' gebied wilt verplaatsen kan je dat als volgt doen:
git add . git add *.txt
Het commando git add .
zal al je wijzigingen in één keer regisseren. Het gebruik van jokertekens zoals *.docx is ook toegestaan.
Git Version 1.X
Git Version 2.X
Met deze opties kunnen we het vermoeiende proces van het toevoegen van één bestand tegelijk elimineren.
Telkens Git wil controleren of er nieuwe bestanden (onopgevolgde wijzigingen) aanwezig zijn in de bewaarplaats, controleert Git het .gitignore bestand voor uitsluitingen.
Een toevoeging ongedaan maken
Je kan op elk moment ,vooraleer te bevestigen (commit), een bestand verplaatsten van de Staged Changes naar het gebied Unstaged Changes:
git reset filename.extension
We voegen Vera.txt weer toe aan repository:
git add Vera.txt